//
//  ZMUtil.h
//  工具类
//
//  Created by sunyuquan on 2017/7/7.
//  Copyright © 2017年 sunyuquan. All rights reserved.
//
#import "AppDelegate.h"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CommonCrypto/CommonDigest.h>

#define APPDELEGATE ((AppDelegate *)[UIApplication sharedApplication].delegate)
#define WINDOW (APPDELEGATE.window)

@interface ZMUtil : NSObject
//单例模式
+(ZMUtil*)sharedInstance;

//颜色转换成图片
+(UIImage *)createImageWithColor:(UIColor *)color;

//获取当前时间并转换成YYYY-MM-dd
+ (NSString *)getDateStringWithY_M_D;

//获取当前是哪一年
+ (NSString *)getCurrentYear;

//UIView
+(UIView *)creatViewWithFram:(CGRect)frame;

//UILable
+(UILabel *)creatLableWithFrame:(CGRect)frame  font:(CGFloat)font  Text:(NSString *)text;

//UIButton
+(UIButton *)creatButtonWithFrame:(CGRect)frame Title:(NSString *)title  bgNomalImageName:(NSString *)bgImageName Target:(id)target  Method:(SEL)method;

//UIImageView
+(UIImageView *)creatImageViewWithFrame:(CGRect)frame imageName:(NSString *)imageName;

//md5小写加密
+ (NSString *)md5HexDigest:(NSString*)input;

+ (NSString *)getCurrentDeviceModel;

+(UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;

// html向字符串转化：
+(NSAttributedString*)htmlStr:(NSString *)string;

// 检验输入框中是否包含表情输入：
+(BOOL)strContainsEmoji:(NSString *)string;

// 计算两个日期之间相差分钟数：
+(int)getMinutesFrom:(NSString *)fDate to:(NSString *)tDate;

// UITableView设置多余的cell不显示方法：
+(void)removeExcessCellOfTableView:(UITableView *)table;

// 返回字符串的尺寸：
+(CGSize)sizeWithFont:(UIFont *)font str:(NSString*)str;

// 判断一个字符串是否包含汉字：
+(BOOL)isContainChinese:(NSString*)str;

// 设置UISearchBar的style：
+(void)setUISearchBarStyle:(UISearchBar *)searchBar;

// 获取当前时间：
+(NSString*)getCurrentTime;

// 将日期格式转化成字符串：
+(NSString*)getFormatedTime:(NSDate*)date;

// 改变图片大小：
+(UIImage *)reSizeImage:(UIImage *)image toSize:(CGSize)reSize;

// 图片质量压缩：
+(UIImage*)compressImg:(UIImage*)img quality:(float)qly;

// 设置UIView边框：
+(void)setViewBorder:(UIView *)view color:(UIColor *)color radius:(float)radius border:(float)border;

// 将图标设置成圆形：
+(void)setViewRoundWithImg:(UIView*)view img:(UIImage *)image;

// 对象转二进制NSData：
+(NSData *)objectToData:(NSObject *)object;

// NSData转对象：
+(NSObject *)dataToObject:(NSData *)data;

// 图片虚化处理：
+(UIImage *)blurrImage:(UIImage *) _image scale:(float)_scale;

// 设置自定义的提示框：
//+(void)showMessage:(NSString *)message;

// 字符串转数字：
+(NSNumber*)StringToNumber:(NSString*) str;

// 应用ID
+ (NSString *)appBundleId;

// 应用版本
+ (NSString *)appVersion;

// 应用构建版本
+ (NSString *)appBuild;

// 当前系统是否存在类
+ (BOOL)hasClass:(NSString *)className;

// 当前系统是否存在方法
+ (BOOL)hasMethod:(SEL)selector inClass:(NSString *)className;

// 是否iPhone设备
+ (BOOL)iPhoneDevice;

// 是否iPad设备
+ (BOOL)iPadDevice;

// 文档目录
+ (NSString *)documentDirectory;

// 缓存目录
+ (NSString *)cachesDirectory;

// 中国日期格式器
+ (NSDateFormatter *)dateFormatterCN;

// 美国太平洋时区日期格式器
+ (NSDateFormatter *)dateFormatterUSPacific;

@end
